Method and system for processing of beacon signals

ABSTRACT

A wireless beacon message management system and method of operating the system with a mobile device. At least one wireless beacon is strategically located in a premises, such as a building or other geocentrically defined area. Each wireless beacon has means for transmitting a wireless beacon signal, wherein the wireless beacon signal includes a beacon data message that has a beacon identification that identifies the beacon transmitting the signal, and optionally the content being delivered. A mobile device such as a smartphone, tablet or the like receives the wireless beacon signal and analyzes it to extract the beacon identification and optional beacon content. The mobile device may then apply one or more software filters to the beacon data message that enables the mobile device to initiate an action based on the filtered beacon data message.

TECHNICAL FIELD

This application relates generally to wireless beacon systems, and inparticular to a system and method for a mobile device to manage signalsreceived from one or more wireless beacons, including dedicated beaconsas well as mobile smartphone beacons such as those generated by a mobilesmartphone or tablet.

BACKGROUND OF THE INVENTION

Wireless beacons are devices that generate and transmit wireless signalsin a relatively small area of coverage. For example, a recent commercialproduct known as iBeacon from APPLE, INC. is an indoor positioningsystem that uses Low Energy Bluetooth (BLE) (also referred to asBluetooth 4.0 and Bluetooth Smart). Essentially, the iBeacon technologyenables nearby mobiles device (such as an IPHONE running IOS or anANDROID device) to receive and send messages over greater distances thanNFC technology (near field communications). For example, the iBeacon cansend messages over 150 feet. This technology is superior to GPS insofaras indoor locations are concerned since GPS relies on communicationswith a GPS satellite, which is generally not available in an indoorenvironment. In addition, this technology enables much more precision inlocating the user and his mobile device.

A beacon in this respect may be a dedicated device or it may be embodiedin a mobile smartphone having the appropriate hardware and softwareconfigurations. In the first case of a dedicated device, it isenvisioned that retail stores and other physical locations would placethese dedicated wireless beacons throughout their premises, so as toenable the beacons to communicate with the users' mobile devices as theyapproach, browse around, and leave the store. Dedicated beacons couldoperate in a stand-alone or networked environment. When operatingstand-alone, they emit signals that are detected by a user's mobiledevice and processed by the mobile device (in standalone mode or inconnection with services in the cloud (i.e. the Internet)) to providevarious services and information. By interconnecting the dedicatedbeacons on a network to a central server computer or to services in thecloud, the system could track a user at any given time and communicatewith that user. For example, the system could determine that the user isin a magazine aisle in a grocery store, and as a result send a couponfor a magazine to that user's mobile device at that time. Or, the systemcould determine that user is standing near a product and sendinformation about that product (or complimentary products) to the userat that time. In another example, a user may be visiting a museum, andstrategically placed dedicated beacons could track his locationthroughout the museum and push information about objects in the museumthat the user is currently viewing.

Besides the dedicated beacons that operate in stand-alone mode,networked mode, and/or cloud-based mode, a mobile device such as amobile smartphone or tablet may be configured to operate as a beacon andprovide additional services and features as will be described.

As the use of wireless beacons proliferates, it has become apparent thata user will quickly become bombarded with wireless messages from themultitude of beacons which may surround him. For example, a user mayenter a shopping mall and be surrounded by dozens if not hundreds ofbeacons, all of which may be competing for the user's attention. Theuser's mobile device may begin to receive hundreds of wireless messages,and it is likely that user may simply ignore his device or even turn itoff, in an effort to avoid being bombarded with message after messageafter message, many of which may be of little or no interest to thatuser. The present invention addresses and solves this problem and willbe described in further detail below.

SUMMARY OF THE INVENTION

Accordingly, provided is a first aspect of the invention in whichimplements a wireless beacon message management system and method ofoperating the system within a mobile device. At least one, and likelymany, wireless beacon(s) is (are) strategically located in a premises,such as a building or other geocentrically defined area such as ashopping mall, stadium, museum, etc. Each wireless beacon has means fortransmitting a wireless beacon signal, wherein the wireless beaconsignal includes at least a beacon identifier that identifies the beacontransmitting the signal, and in some embodiments the wireless beaconsignal may also include a beacon data message that includes the contentbeing delivered. A mobile device such as a smartphone, tablet or thelike receives the wireless beacon signal and analyzes it to determinethe beacon identifier. A beacon filter manager running on the mobiledevice or in the cloud may then pre=process the beacon identifier byapplying one or more software filters to the beacon identifier thatenables the mobile device to initiate an action as desired. The mobiledevice then may enable a mobile application associated with the beaconidentifier to process the beacon identifier if allowed by the beaconfilter manager. Although it is envisioned that these beacons will bededicated, a mobile smartphone beacon may also be used in this aspect ofthe invention to generate the beacon signals as described herein.

The beacon identifier may include a source identifier, a major locationidentifier, and a minor location identifier. The source identifierindicates the source or owner of the beacon, such as a department storechain, which will be used to trigger an associated mobile app if certainfilter conditions are met. The major location identifier may be used toindicate a general location of the beacon, such as a store address. Theminor location identifier may be used to indicate a specific locationwithin the major location identifier, such as an entry door, a specificdepartment location, a specific floor in the store, etc.

The receiving mobile device pre-processes the wireless beacon signalwith the beacon filter manager, which may execute locally on the mobiledevice (either within the operating system or with a separateapplication called by the operating system) or remotely usingcloud-based services. The location services function of the mobiledevice will make available the beacon identifier which normally wouldthen be used to trigger or call an associated mobile application that isloaded or executing on the mobile device.

The beacon filter manager analyzes the beacon identifier and initiatesone or more actions based on the beacon identifier, optionally inconjunction with a user profile stored in memory on the mobile device orin the cloud to provide actions that are tailored to the user of thedevice. For example, one filter that may be applied to the beacon datamessage indicates that the beacon identifier should be ignored, suchthat the action initiated by the mobile device is simply to ignore thebeacon identifier as if it had not been received. This may occur if auser indicates in his profile that beacons from certain sources shouldbe ignored, which may be based on certain conditions such as time ofday, day of the week, etc.

Another type of action taken may be to simply display a notification tothe user that the source identified by the beacon identifier istransmitting a beacon signal to the mobile device. Optionally, the usermay be given the ability to confirm that the mobile app associated withthat beacon source may be triggered (such that the app will take certainactions such as displaying purchase incentives etc.) or to indicate thatthe beacon should be ignored. In this case the user is given the abilityto filter out certain beacons in real time as desired. Another type ofaction that may be initiated is the automatic execution of a mobileapplication resident in memory of the mobile device.

Another type of action that may be initiated is the placement of thebeacon identification in a transaction queue for subsequent processing.For example, a priority of service scheme may be implemented to handlemultiple wireless beacon signals that may be received at around the sametime in quick succession such as in a shopping mall in which all of thestores each use wireless beacons. These messages may be placed in atransaction queue and subjected to prioritization as determined by theuser. For example, a simple FIFO (first in first out) scheme may be usedto allow sequential processing in the order they are received. Or, thebeacon identifier may be analyzed to determine if certain beacons are ofimmediate interest to the user and the given higher priority, such as ifthe user has configured the priority to process beacon signalsassociated with stores that sell electronic devices before any othertype of beacon signal. This may of course be user-configurable whereinpriority settings may be stored in the user profile, which may be in themobile device or in storage in the cloud.

Another type of action that may be initiated is post-processing of dataprovided by execution of an app triggered by the beacon identifier. Forexample, the beacon filter manager may allow a beacon identifier totrigger a mobile app associated with an electronics store that the useris entering. The electronics store mobile app may operate to provide apurchase offer for display to the user on the mobile device. Thispurchase offer may be post-processed by sending a request to an externalservice in the cloud for analysis; for example a product comparisonservice, a web search service, or a transaction service. In the case ofa product comparison service, the mobile device may be configured torequest the service to provide a product comparison report from theproduct comparison service, which may include prices at variousmerchants for a product that is being offered by the mobile app. Thiswould enable the user to quickly determine if the product offer is at adesired price, or if another merchant such as AMAZON may be selling thesame product for a lower price. In the case of a web search service, themobile device may be configured to request the service to execute a websearch in real time regarding the subject matter of the data provided bythe mobile app that was triggered by the beacon. For example, thetriggered mobile app may provide information regarding a store that auser is entering; that information may be used to obtain a web searchreport via the web search action, which may have further informationabout the store. In the case of a transaction service, the triggeredmobile app may display a purchase incentive such as a product coupon,and the coupon may then be used to execute an online purchase of theproduct using an appropriate transaction service. Transactions may benegotiated and executed if desired.

In accordance with a second aspect of the invention, the wireless beaconcontains intelligence, or is interconnected with a server computerlocally or in the cloud that provides intelligence, such that the beacontransmits more than just a beacon identifier as in the first aspect ofthe invention discussed above.

In particular, the intelligent beacon provides beacon content inaddition to the beacon identifier, which may be acted on by the mobiledevice without the need to execute an associated mobile app to providecontent to the user such as a purchase coupon. The intelligent beacondiffers from the beacon of the first aspect above in that it includesprocessing circuitry and program storage that enable it to providebeacon content such as notifications, purchase incentives (i.e.coupons), and other information in addition to its beacon identifier asdescribed above. This content may be generated and stored on the beaconitself or the beacon may interconnect to a beacon server computer on alocal network or using cloud-based services. This enables an enterpriseto program the intelligent beacons to deliver content as may be desired.For example, the enterprise may program the beacons to deliver $20discount coupons for plasma TVs, or other type of beacon content, whichmay be changed by the enterprise when desired.

At the core of this second aspect of the invention is a beacon filtermanager that is running on the mobile device and which provides certainapplication post-processing functions similar to what has been describedabove. The filter manager may be a separate application executed whendesired by a user, or it may be tightly integrated into the operatingsystem platform of the mobile device if desired by the system designer.Alternatively, the beacon filter manager may operate wholly or partiallyusing cloud-based services.

The beacon filter manager analyzes the beacon data (the beaconidentifier and/or beacon content) and initiates one or more actionsbased on the beacon data, optionally in conjunction with a user profilestored in memory on the mobile device or on a cloud-based server toprovide actions that are tailored to the user of the device. Optionally,the beacon content may include a template that requires customization bythe mobile device before continuing to process it.

One filter that may be applied to the beacon data indicates that thebeacon data should be ignored. This may be determined by reference to ano-action table of beacon data established by the user in the userprofile, such that if any of the beacon data matches the no-action tablethen the action initiated by the mobile device is simply to ignore thebeacon data as if it had not been received. Beacon data may be ignoredat all times, or it may be ignored at certain times of the day or daysof the week, etc. The beacon data may be ignored as a function of thebeacon identifier as described with respect to the first aspect of theinvention above. Or the beacon data may be ignored as a function of thebeacon content within the beacon data.

Another type of action taken by the filter manager may be to display anotification to the user on the mobile device of the source of thebeacon data being transmitted to the mobile device. Optionally, the usermay be given the ability to confirm that the beacon content should bedisplayed directly on the device without needing to invoke a mobile app,or that a mobile app associated with that beacon source may be triggered(such that the app will take certain actions such as displaying purchaseincentives etc.), or to indicate that the beacon should be ignored.

Another type of action that may be initiated by the filter manager isthe automatic execution of a mobile application resident in memory ofthe mobile device. That is, the user may initiate an override of anypreviously stored ignore commands in the no-action table, such that allbeacon data would be passed on by the filter manager to an intendedmobile app associated with the beacon content without ay furtherinteraction by the filter manager.

Another type of action that may be initiated is the placement of thebeacon content in a transaction queue for subsequent processing. Thesemessages may be placed in a transaction queue and subjected toprioritization as determined by the user in the user profile oron-the-fly as they are being received. For example, the user may specifythat a simple FIFO (first in first out) scheme be used to allowsequential processing in the order they are received. Or, the beaconcontent (and/or identifier) may be analyzed to determine if certainbeacons are of immediate interest to the user and then given higherpriority, such as if the user has configured the priority to processbeacon content related to electronic devices before any other type ofbeacon signal.

Similar to the first aspect of the invention described above in which anitem such as a purchase offer generated by a mobile app associated withan incoming beacon identifier may be post-processed in one or morevarious manners (e.g. such as by a product comparison service), thissecond aspect of the invention provides for similar post-processingevents to occur with respect to beacon content received directly from abeacon.

One type of post-processing action is a product comparison step, inwhich the mobile device may be configured to request a third partyservice in the cloud to provide a product comparison report which mayinclude prices at various merchants for a product that is being offeredby the beacon. Another type of post-processing action is the use of aweb search service in which the mobile device may be configured torequest the web search service to execute a web search in real timeregarding the subject matter of the beacon content provided by thebeacon. Another type of post-processing action is the use of atransaction service.

In an alternative embodiment, the beacon content may be in the form of atemplate such that each mobile device would take steps to complete ormodify the template to present a message customized to the user of themobile device. As explained above, the beacon filter manager determinesif the beacon content may include a template that requires customizationby the mobile device before continuing to process it. If so determined,then the template is extracted/decoded from the beacon content. One ofthree processing paths may then occur, based on what is required by thetemplate. In the first path, the user profile is accessed from local orcloud-based storage, and information from that user profile is used tocomplete or modify the template. Then the completed template is passedback to the filter manager for processing. Alternatively, in the secondpath, a mobile app is accessed that is associated with the beaconidentifier received and decoded by the mobile device in the wirelessbeacon data signal. The template is completed or modified by the mobileapp, and then the completed template is passed back to the filtermanager for processing. Optionally, the mobile app may also requireinformation from the user profile to complete the template. Finally, inthe third path, the template may be modified by interaction with theuser and then passed back to the filter manager for processing asdiscussed above.

In an optional embodiment, the beacon may have the ability to receivedata messages from a user mobile device as well as transmit the wirelessbeacon data signals as described above. In this manner, the beacon couldrequest information from the user mobile device, which could respondbased on information in the user profile or based on real-timeinteraction with the user. Additionally, the mobile device may beprogrammed to transmit periodic queries that search for beacons havingcertain characteristics. In this case, the user may be seeking to obtainpurchase coupons for a desire product, and may set a mobile app on hisdevice to transmit beacon search requests that would be received bybeacons within range. If a particular beacon is able to provide therequested content, then it would respond to the querying mobile deviceaccordingly.

In accordance with a third aspect of the invention, the beacon is amobile smartphone beacon. That is, certain mobile devices such as anIPHONE running IOS 7 may act as a beacon in this environment so as togenerate and transmit beacon signals. Since these mobile devices alsoreceive beacon signals, this provides for intelligent two-wayinteractions and conversations, thus enabling the features andfunctionality to be described herein.

In accordance with a fourth aspect of the invention, the user mobiledevice is capable of switching between GPS and beacon location modes,either automatically or manually, depending on the location of thedevice.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 is a system level block diagram of the preferred embodiment ofthe first aspect of the present invention.

FIGS. 2, 2A and 2B provide a flowchart of the basic operation of thepreferred embodiment of the first aspect of the present invention.

FIG. 3 is a block diagram of an alternative embodiment that uses a thirdparty service.

FIG. 4 is a system level block diagram of the preferred embodiment ofthe second aspect of the present invention.

FIG. 5 is a flowchart of the basic operation of the preferred embodimentof the second aspect of the present invention.

FIG. 6 is a flowchart of the operation of the template-based embodimentof this invention.

FIG. 7 is a system level diagram of the preferred embodiment of thethird aspect of the present invention.

FIG. 8 is a more detailed diagram of the preferred embodiment of thethird aspect of the present invention.

FIG. 9 is a block diagram of a fourth aspect of the invention thatswitches between GPS and beacon location methodologies.

FIG. 10 is a block diagram of a mobile device used with this invention.

FIG. 11 is an illustration of a user dashboard control display that isused to control various parameters of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS First Aspect of theInvention—ID Transmit Only Beacon

A detailed description of the first aspect of the invention will now beprovided. In this aspect of the invention, the beacon is referred to asbeing dumb since it is capable of transmitting only a beacon identifier,and no other content, as will be discussed in conjunction with the otheraspects of the invention below. References to a beacon in this firstaspect of the invention should in most cases be construed as a dedicatedbeacon, but where appropriate a mobile smartphone beacon may also beused. This aspect of the invention is discussed with reference to FIGS.1-3 herein.

FIG. 1 provides a basic block diagram of the system that implements abeacon 4 that transmits only a beacon identifier. These beacons 4 aresimple and thus inexpensive, and may be easily deployed in a premises orother geocentric location 2 by an enterprise or any entity wanting tobroadcast its identity. A commercial example of this type of beacon 4 isdistributed by ESTIMOTE. According to the web site at www.estimote.com,the ESTIMOTE Beacon is a small computer with a CPU, memory, anaccelerometer, a temperature sensor, and a 2.4 GHz Bluetooth Smart(otherwise referred to as BLE or Bluetooth low energy) bidirectionalradio, and can run up to two years on a single battery. The beacon 4broadcasts its presence by sending a wireless beacon ID signal 5continuously so that devices such as the user mobile device 6 canreceive and process it.

The mobile device 6 is capable of receiving the wireless beacon IDsignal 5 via the wireless Bluetooth transceiver 8 once it is withinrange of the beacon 4, without the requirement of being previouslypaired with the beacon. The operating system and/or location servicessoftware 12 of the mobile device 6 is capable of measuring the RSSI(received signal strength indication) of the wireless signal 5, and as aresult is able to provide a ranging function that ascertains how far thedevice 6 is from the transmitting beacon 4. By receiving signals frommore than one beacon 4, the ranging accuracy is improved and the device6 can more accurately determine its relative position with respect tothe beacons 4. Ranging calculations are known in the art and need not berepeated here.

The mobile device processes the wireless signal 5 from the beacon 4 andthen demodulates/decodes the data from the wireless signal to determinethe beacon identifier. The beacon identifier will typically but notnecessarily include a source identifier, a major location identifier,and a minor location identifier. The source identifier is also referredto as the proximity UUID, and may be a length of 16 bytes of data. Thisindicates the source or owner of the beacon, such as a department storechain, which will be used to trigger an associated mobile app if certainfilter conditions are met. For example, the department store chainTARGET may provide beacons at all of its retail stores. Each of thesebeacons would have the same source identifier string, so that a mobileapp executing on a user's mobile device 6 will be able to feed thebeacon ID signal to that TARGET app for processing. That is, the TARGETapp will request the operating system 12 to hand off any beaconidentifiers that arrive with the TARGET source identifier. This processis known in the art, but is modified by the present invention as will bediscussed below.

The major location identifier is the second part of the beaconidentifier, and is generally a two-byte string that may be used toindicate a general location of the beacon, such as a store address.Thus, each beacon located at a 5^(th) Avenue TARGET store in New YorkCity would have an identical major location identifier (identifying thebeacon as being located at that 5^(th) Avenue store), as well as thesame source identifier. The minor location identifier is the third partof the beacon identifier, and is generally a two-byte string that may beused to indicate a specific location of the beacon, such as an entrydoor, a specific department location, a specific floor in the store,etc. Thus, by analyzing the beacon identifier, the operating system 12can pass off the beacon identifier to the appropriate mobile app (asidentified by the source identifier), which will then know at whichretail location the user is located (as identified by the major locationidentifier) as well as the specific location at which the user islocated or is approaching (as determined by the minor locationidentifier and the ranging calculations).

The prior art beacon systems function as had been described above,wherein a mobile app 18 is triggered by the receipt of a wireless beaconID signal 5 that includes a beacon identifier associated with thatmobile app. As discussed in the background, it has been recognized thatas the use of these beacons proliferates, a mobile device may bebombarded with signals from many beacons at once in certain areas suchas dense cities or even shopping malls. It is envisioned that this willbecome an untenable situation for a user in which uncontrollednotifications, messages, applications and the like are initiated by themultitude of beacons encountered by the user ant any given time. Thus,this first aspect of the invention solves this problem by giving theuser complete control over the processing of the beacon ID signals in away heretofore unavailable.

At the core of this first aspect of the invention is a beacon filtermanager 14 that is running on the mobile device 6 as shown in FIG. 1. Inthe alternative, the functionality of the beacon filter manager 14 maytake place on a computer over a network such as the internet 30 (alsoknown as in the cloud). The beacon filter manager 14 also providescertain application post-processing functions that will be described infurther detail below. The filter manager 14 may be a separateapplication executed when desired by a user, or it may be tightlyintegrated into the operating system platform 12 of the mobile device ifdesired by the system designer, or it may be provided on a servercomputer in the cloud 30. In any case, the functionality of the filtermanager 14 will now be described with respect to the flowchart of FIG.2.

As described above, at step 200 the mobile device 6 receives one or morewireless beacon ID signals 5 from beacons 4 that are strategicallylocated throughout a premises such as a shopping mall. At step 202, thebeacon identifier is decoded from the wireless beacon ID signal by themobile device, and the beacon filter manager 14 intercepts the beaconidentifier at step 204. The beacon filter manager 14 pre-processes thebeacon identifier and initiates one or more actions at step 206 based onthe beacon identifier, optionally in conjunction with a user profile 16stored in memory on the mobile device 6 to provide actions that aretailored to the user of the device. Optionally, the user profile 16 maybe stored on a computer in the cloud 30 rather than or in addition tobeing stored on the mobile device 6.

The various actions that may occur at step 206 are illustrated in FIG.2A. One filter that may be applied to the beacon identifier is theIGNORE filter indicates that the beacon identifier should be ignored atstep 208. This may be determined by reference to a no-action table ofbeacon identifiers established by the user in the user profile 16, suchthat if the beacon identifier matches the no-action table then theaction initiated by the mobile device is simply to ignore the beaconidentifier as if it had not been received. A beacon identifier may beignored at all times (unless modified by the user at step 228), or itmay be ignored at certain times of the day or days of the week, etc. Forexample, the user may specify a preference in the profile 16 thatprovides for ignoring beacon identifiers from any clothing shops, sincehe may not want to be bombarded with clothing offers as he travelsthrough a shopping mall or on a city street. Or, he may want to filterout any beacon identifier from a food establishment such as a restaurantat times other than 6 PM through 8 PM. Or, he may want to filter allbeacons on Sunday or any other day selected. In this case the user maybe given complete control for filtering beacons to be ignored with theIGNORE filter by using a control panel or user dashboard 1102 (see FIG.11) that may be accessible on the user input/output 10 of the mobiledevice, which may for example be a touchscreen display. Alternatively,in the case in which the user profile is stored in the cloud, then theuser may also be able to access the control panel or user dashboard 1102for viewing and/or modifying the profile parameters via any clientcomputer that may be granted access to the profile in the cloud, such asa desktop computer, laptop computer, tablet and the like, via forexample a web browser program.

Another type of action taken by the filter manager 14 may be the DISPLAYNOTIFICATION filter, which acts to display a notification to the user atstep 210 on the mobile device 6 that the source identified by the beaconidentifier is transmitting a beacon ID signal to the mobile device. Forexample, a popup notification may state “TARGET Stores is attempting tosend you information”. Optionally, the user may be given the ability atstep 212 to confirm that the mobile app associated with that beaconsource may be triggered (such that the app will take certain actionssuch as displaying purchase incentives etc.) or to indicate that thebeacon should be ignored. Thus, the user may be provided with aconfirmation window on the touchscreen display that states “Would youlike to accept the TARGET beacon?” Then the user can check a “Yes” or“No” selection box, based on how the user wants to handle the TARGETbeacon at that specific moment in time. By checking “Yes”, the TARGETapp would then be given access to the TARGET beacon identifier as in theprior art, and take actions such as displaying a coupon or otherpurchase incentive. By checking “No”, the TARGET app would not betriggered, and the TARGET beacon identifier would be ignored as in step208. As a result, the user is given the ability to filter out certainbeacons in real time as desired.

Another type of action that may be initiated by the filter manager 14 isthe EXECUTE filter, which is the automatic execution of a mobileapplication resident in memory of the mobile device as shown at step214. That is, the user may initiate an override of any previously storedignore commands in the no-action table, such that all beacon identifierswould be passed on by the filter manager 14 to the intended mobile appassociated with the beacon identifier without ay further interaction bythe filter manager 14. This override may be removed or modified by theuser at any time as desired by modifying the user profile 16 at step228.

Another type of action that may be initiated is the QUEUE action at step216, which provides for the placement of the beacon identification in atransaction queue for subsequent processing. In this scenario, amultitude of beacon ID signals are received by the user mobile device 6,such as in an area populated with many beacons, all vying for the user'sattention. Rather than ignore these beacons, a priority of servicescheme may be implemented at step 217 to handle these multiple wirelessbeacon ID signals that may be received at around the same time in quicksuccession. These messages may be placed in a transaction queue andsubjected to prioritization as determined by the user in the userprofile 16 or on-the-fly as they are being received. For example, theuser may specify that a simple FIFO (first in first out) scheme be usedto allow sequential processing in the order they are received. Or, thebeacon identifier may be analyzed to determine if certain beacons are ofimmediate interest to the user and then given higher priority, such asif the user has configured the priority to process beacon ID signalsassociated with stores that sell electronic devices before any othertype of beacon ID signal. This may of course be user-configurablewherein priority settings may be stored in the user profile 16 in themobile device or alternatively in the cloud. The priority settings arealso referred to as a WISHLIST feature 209, whereby the user may specifythe beacons of most interest to him, so that the WISHLIST generated bythe user is saved in the user profile for use in prioritizing and/orfiltering desired beacons of interest. For example, a user may specifythe following types of beacons on a WISHLIST:

1. Electronics

2. Fast food restaurants

3. Music stores

The priority scheme would then place beacons received from those typesof establishments at the top of the queue so they are viewed by the userbefore any other beacon. This may also interoperate in conjunction withthe IGNORE filter at step 208 such that beacons received from any typeof establishment other than those in the WISHLIST 209 are ignored by themobile device and not presented to the user. These options are allconfigurable in the user dashboard 1102 as described further below.

In addition to filtering the beacon signals as a function of the beaconID, the beacon signals may also be filtered and processed as a functionof the distance that the transmitting beacon is from the mobile device,as shown at step 219 in FIG. 2. As described above, the operating systemand/or location services software 12 of the mobile device 6 is capableof measuring the RSSI of the wireless signal 5, and as a result is ableto provide a ranging function that ascertains how far the device 6 isfrom the transmitting beacon 4. The beacon filter manager 14 may beprogrammed to block out beacon signals that are at a predetermineddistance from the mobile device. For example, the user may specify inthe user profile that any beacon signal received from a beacon that ismeasured to be more than X feet from the mobile device should beignored. Or, the user may specify that any beacon signal received from abeacon that is measured to be less than Y feet from the mobile deviceshould be given a high priority in the processing queue that wasdescribed above. Other distance parameters may be established as desiredby the user. The distance filter may be used in conjunction with any orall of the beacon ID filters described above as may be desired in orderto provide the user with fine granularity in managing the beacon signalsthat are received by his mobile device.

Another type of filter that may be implemented is a utilization filter221, which may work in conjunction with the ID filters and/or thedistance filters described above. The utilization filter 221 is based onkeeping track of the number of beacon signals that are received from acertain source, or from a certain type of source, and limitingsubsequent beacon signals from being processed if the number alreadyreceived exceeds a predetermined threshold. For example, the sure mightindicate in his user profile that he only wants to see twenty-fivebeacon signals from music stores in any given day, or he may indicatethat he does not want to see more than ten beacon signals from fast foodrestaurants, etc. Or, he may indicate she only wants to see up to fivebeacon signals from MACYs stores, or up to ten beacon signals fromTARGET stores, etc. In the alternative, utilization may be based on amonetary value. For example, he may indicate that he does not want tosee any beacon signals having an incentive value less than five dollars.These parameters may be set by the user in his user profile and modifiedas desired. In addition to operating in conjunction with the beacon IDat step 206, the utilization filter 221 may work with the distancefilters 219 as described above. For example, the user may specify thathe would only like to receive five beacon signals per day from sourcesless than X feet away, etc.

Yet another type of filter that may be utilized is an access controlfilter as shown at step 223 in FIG. 2. The access control filter 223implements an external qualifier in order to pass the beacons signalthrough to the associated app. For example, an external qualifier may bethat a certain number of loyalty or reward points must be available inthe user's reward account in order for the beacon signal to be utilized.In this example, the beacon may originate from a source that requiresthe user to be a user with 10,000 AMERICAN EXPRESS MEMBERSHIP REWARDPOINTS, or that the set be MARRIOTT PLATINUM MEMBER, etc. This willenable filtering out of those users without the desired reward/loyaltystatus as may be desired.

Other types of filters and priority schemes may be utilized with thisinvention in order to carry out the preferences of the user, all ofwhich could be modified by the user at any time via the user profile 16.A default set of filters may be preloaded into the profile in the eventthe user has not made any affirmative choices in this regard.

After the filter manager 14 has processed, filtered, prioritized, andotherwise managed the incoming beacon identifiers, they are passed on toassociated mobile apps as described above. For example, a TARGET beaconidentifier may indicate to the TARGET app that the user is standing atthe electronics counter of the 5^(th) Avenue TARGET store in New YorkCity, and display an offer to purchase an XBOX gaming system at thatlocation for $200. While these notifications are intended to enticeusers to make purchases on the spot, it is desired to take one or moreactions in conjunction with these mobile apps in order to provide anoptimized user experience. Thus, in the present invention,post-processing of the actions taken by these mobile apps is undertakenin step 218 as will now be described in detail at FIG. 2B.

One type of post-processing action is a product comparison step 220 asshown in FIG. 2B and with reference to FIG. 3. In this situation, thepurchase offer made by the TARGET mobile app is post-processed by themobile device 6 sending via the Internet 30 a request to an externalthird party service 32 for a product comparison service. Here, themobile device 6 may be configured to request the third party service 32to provide a product comparison report that may include prices atvarious merchants for a product that is being offered by the mobile app.That is, the product comparison service would return to the mobiledevice a list of alternative sources for the XBOX as well as the priceterms from each source. As such, the user could make an easy and quickanalysis of the $200 price being offered by TARGET to determine if thatoffer has value or not to the user. This would enable the user toquickly determine if the product offer is at a desired price, or ifanother merchant such as AMAZON may be selling the same product for alower price.

Another type of post-processing action is the use of a web searchservice at step 222. In the case of a web search service, the mobiledevice 6 may be configured to request the web search service to executea web search in real time regarding the subject matter of the dataprovided by the mobile app that was triggered by the beacon. Forexample, the triggered mobile app may provide information regarding aTARGET store that a user is entering; that information may be used toobtain a web search report via the web search action, which may havefurther information about the TARGET store. Similarly, if a user isentering a ballpark, the web search service could provide informationfrom a web search regarding the ballpark, the teams that are playingthere, etc.

Another type of post-processing action is the use of a transactionservice at step 224. Here, the triggered mobile app may display apurchase incentive such as a product coupon, and the coupon may then beused to execute an online purchase of the product using an appropriatetransaction service. For example, a manufacturer coupon from MICROSOFTmay be displayed on the screen of the mobile device when the user isapproaching the electronics department at TARGET. The user may be ableto execute a post-processing transaction that uses that manufacturercoupon (since it is not specific to TARGET only) with AMAZON to purchasethe XBOX from AMAZON rather than TARGET.

Yet another type of post-processing action is a feedback and ratingfunction at step 234 that enables users to provide feedback in the formof ratings or grades based on their opinion of the functionalityprovided by any given beacon transaction. For example, a wireless beaconID signal may be received from beacon located at a TARGET store, whichafter being processed by the mobile device will call a TARGET appexecuting on the mobile device and enable the TARGET app to display apurchase incentive to the user. In this example, the purchase incentivemay be a $5 coupon for use in the food department of that TARGET store.At any point after the coupon is displayed to the user, the ratingfunction 234 may generate a message for display to the user that invitesthe user to rate the beacon service just provided. The user may opt out(decline), or may agree to provide the rating/feedback as requested. Bychecking an appropriate box on the screen, the user may then enter anytype of rating that may be allowed for by the system designer, such as anumerical rating (e.g. 1-10), a star rating (e.g. 1-5 stars), aselection of one or more predefined ratio terms (e.g. “Excellent”,Good“, “Fair”, “Poor”, “Terrible”), or any other type of rating orfeedback that may be desired. This information may be collected by thebeacon filter manager 14 and/or the TARGET app itself, and eventuallythat information may be provided to the TARGET company for analysis andevaluation.

Yet another type of post-processing action is a calendar assistantfunction 236 that enables integration with a separate calendarapplication or database that exists on the mobile device. The calendarassistant function can access the user's calendar data and determine ifthe user has availability at a certain date and time. For example, abeacon signal may be received from a movie theater as the user passes byin a shopping mall. The beacon signal is processed along with anaccompanying mobile app that would like to determine if the user isavailable to view a movie that evening. A calendar database/app on theuser's mobile phone is accessed, and it is determined that the user isavailable from 6-10 PM that evening. A display is generated that reads:

“The movie “The Godfather” is playing from 6:30-9:30 PM at the Acmetheater to your left. Would you like to attend with a $2 discounttonight?”

The user is able to enter his response and optionally allow the mobileapp to make a calendar entry that puts the movie on his calendar. Theapp can interact with the calendar app in other ways, such as findingthe next time the user is available that the movie is playing, etc.

Another type of post-processing action is a weather information function230 that can interact with weather services via the Internet and use theweather information from those services to provide more intelligent andcustomized notifications and incentives to the user. For example, abeacon signal may be received from an outdoor amusement park as the userpasses by. The beacon signal is processed along with an accompanyingmobile app that would like to determine if the weather would beconducive for the user to use the outdoor facilities. The weatherinformation is accessed from weather information source on the Internet(optionally in conjunction with an associated weather app on the mobiledevice), and it is determine that the weather is pleasant for theremainder of the day for outdoor activities. A display is generated thatreads:

“The park “Rides 'n Games” is open on your left. The weather is sunnyfor the rest of the day and the park will be open until 10 PM. Here is a$10 discount coupon avid for the rest of the day”.

Another type of post-processing actin is a traffic information function232 that can interact with traffic services via the Internet and use thetraffic information from those services to provide more intelligent andcustomized notifications and incentives to the user. The trafficinformation function operates similarly to the weather informationfunction described above, except that traffic information is obtainedand processed for the user along with the beacon signal rather thanweather information.

User Dashboard

FIG. 11 illustrates an exemplary display of a user dashboard 1102, whichmay be viewed on a web browser on a computer, mobile device, etc. In thecase of a mobile device such as a smartphone or tablet, the userdashboard 1102 may be viewed and configured in the alternative using adedicated app executing on the mobile device as know in the art. Ineither case, the user dashboard enables a user to view any or all of hisuser profile parameters and change them if desired. In the example shownin FIG. 11, the user is able to view his current profile settings. Here,the user has already entered settings so that all beacons are ignore donSunday, restaurant beacons are ignored before 6 PM, and all beaconscontaining an advertisement beacon re ignored after 9 PM. This user hasset a priority queue to process beacons in the electronics categorybefore any beacons in the sporting goods category, and all other typesin a FIFO basis. Finally, this user has indicated in his WISHLIST thathe would like to seek out beacons from fast food places (such as BURGERKING) and video game stores.

These user profile parameters may be modified in the section above thatis labeled configurable user profile parameters. By selecting any of theparameters shown, he can change his profile settings. For example, hecan select the IGNORE:type parameter and enter specific types orcategories of beacons that he would like to IGNORE and not be botheredwith. This can be combined with the IGNORE:time parameter for additionalspecificity. Thus, he is able to set the filter that will ignorerestaurant beacons after 6 PM.

The user profile settings are stored on his mobile device for easycontrol and access, or in the alternative on a server computer locatedin the cloud.

Second Aspect of the Invention—Intelligent Beacon

In accordance with a second aspect of the invention, the wireless beaconcontains intelligence, or is interconnected with a computer(s) thatprovides intelligence, such that the beacon transmits more than just abeacon identifier as in the first aspect of the invention discussedabove. This may be a dedicated beacon or a mobile smartphone beacon aswill be described.

A detailed description of the second aspect of the invention will now beprovided. In this aspect of the invention, the beacon is referred to asbeing intelligent since it is capable of transmitting beacon content inaddition to a beacon identifier. This aspect of the invention isdiscussed with reference to FIGS. 4 and 5 herein.

FIG. 4 provides a basic block diagram of the system that implements anintelligent beacon 4 a, i.e. a beacon capable of transmitting a wirelessbeacon data signal 5 a that includes beacon content in addition to abeacon identifier (referred to herein as beacon data). These beacons 4 aare similar to the beacons 4 described in the first aspect of theinvention above, and may be easily deployed in a premises or othergeocentric location 2 by an enterprise or any entity wanting tobroadcast its identity as well as specific content to a user mobiledevice. The intelligent beacon 4 a differs from the beacon 4 in that itincludes processing circuitry and program storage that enable it toprovide beacon content such as notifications, purchase incentives (I.e.coupons), and other information in addition to its beacon identifier asdescribed above. Of course, in addition to being a dedicated beacon, thebeacon here may be a mobile smartphone beacon appropriately configured.The content may be generated and stored on the beacon 4 a itself. Or,the beacon may interconnect to a beacon server computer 20, which may belocated on the premises 2 or offsite in the cloud 30 as desired. Assuch, an enterprise may program these beacons 4 a to deliver content asmay be desired. For example, the enterprise may program the beacons 4 ato deliver $20 discount coupons for plasma TVS, or other type of beaconcontent, which may be changed by the enterprise when desired. In thisaspect of the invention, the wireless beacon data signal 5 a isdemodulated and decoded by the mobile device to provide the beacon data;i.e. the beacon identifier (which may include some or all of the sourceidentifier, major location identifier, and minor location identifier)and also the beacon content (e.g. a purchase incentive).

As described above, the mobile device 6 is capable of receiving thewireless beacon data signal 5 a via the wireless Bluetooth transceiver 8once it is with range of the beacon 4 a, without the requirement ofbeing previously paired with the beacon. The operating system and/orlocation services software 12 of the mobile device 6 is capable ofmeasuring the RSSI (received signal strength indication) of the wirelessbeacon data signal 5 a, and as a result is able to provide a rangingfunction that ascertains how far the device 6 is from the transmittingbeacon 4 a. By receiving signals from more than one beacon 4 a, theranging accuracy is improved and the device 6 can more accuratelydetermine its relative position with respect to the beacons 4 a. Rangingcalculations are known in the art and need not be repeated here.

The mobile device processes the wireless beacon data signal 5 a from thebeacon 4 a and then decodes the signal to determine the beacon data (thebeacon identifier and the beacon content). The beacon identifier may bein the same format as described above in the first aspect of theinvention. The beacon content may be any content that may for example bedisplayed on the screen of the device such as a coupon (or which causesan action to take place on the device).

As discussed in the background, it has been recognized that as the userof these beacons proliferates, a mobile device may be bombarded withsignals from many beacons at once in certain areas such as dense citiesor even shopping malls. It is envisioned that this will become anuntenable situation for a user in which uncontrolled notifications,messages, incentives, applications and the like are initiated by themultitude of beacons encountered by the user ant any given time. Thus,this second aspect of the invention solves this problem by giving theuser complete or partial control over the processing of the beaconsignals in a way heretofore unavailable.

At the core of this second aspect of the invention is the beacon filtermanager 14 that is running on the mobile device 6 (or in the cloud 30)as shown in FIG. 4. The beacon filter manager 14 also provides certainapplication post-processing functions that will be described in furtherdetail below. The filter manager 14 may be a separate applicationexecuted when desired by a user, or it may be tightly integrated intothe operating system platform 12 of the mobile device if desired by thesystem designer, or it may be executed on a remote computer over theinternet (in the cloud 30). In any case, the functionality of the filtermanager 14 will now be described with respect to the flowchart of FIG.5.

As described above, at step 500 the mobile device 6 receives one or morewireless beacon data signals 5 a from beacons 4 a that are strategicallylocated throughout a premises such as a shopping mall. At steps 502 and503, the beacon identifier and beacon content are both decoded from thewireless beacon data signal by the mobile device, and the beacon filtermanager 14 receives the beacon identifier and beacon content at step504.

It is noted that there may not be a need for a mobile app to be executedin association with the beacon ID as in the first aspect of theinvention discussed above that utilizes only the beacon ID and has nobeacon content. Since the mobile device in this first aspect receivesonly the beacon ID from a dumb beacon 4, there is a need for anassociated mobile app to handle the receipt of that beacon ID andprovide the desired content to the user in the form of a purchaseincentive, notification and the like, as known in the art (and asoperated on by the beacon filter manager as discussed above). However,in this second aspect of the invention, there will be some sort ofbeacon content made available directly from the intelligent beacon 4 a,which may obviate the need for the associated mobile app on the mobiledevice. For example, the beacon content may be a simple purchaseincentive that may be displayed on the screen of the device without theneed for any interaction by a mobile app on the device. In some caseshowever, as described further below, a mobile app may interact with thereceived beacon content, such as if a purchase incentive template isreceived by the mobile device and an associated app is executed thatmodifies the purchase incentive template to the particular user (e.g.user A gets a $50 coupon and user B gets a $60 coupon off of the sametemplate received from the beacon).

At step 504, the beacon filter manager 14 analyzes the beacon data (thebeacon identifier and/or beacon content) and initiates one or moreactions at step 506 based on the beacon data, optionally in conjunctionwith a user profile 16 stored in memory on the mobile device 6 or in thecloud 30 to provide actions that are tailored to the user of the device.Optionally, the beacon content may include a template that requirescustomization by the mobile device before continuing to process it. Ifat step 504 it is determined that the content includes a template, thenthe processing branches to the loop at step 505 to customize thetemplate as will be described further below. Assuming that the beaconcontent does not include a template and is otherwise complete, then thefilter manager continues to process the beacon content at step 506.

One filter that may be applied to the beacon data indicates that thebeacon data should be ignored at step 508. This may be determined byreference to a no-action table of beacon data established by the user inthe user profile 16, such that if any of the beacon data matches theno-action table then the action initiated by the mobile device is simplyto ignore the beacon data as if it had not been received. Beacon datamay be ignored at all times (unless modified by the user at step 528),or it may be ignored at certain times of the day or days of the week,etc. For example, the user may specify a preference in the profile 16that provides for ignoring beacon data from any clothing shops, since hemay not want to be bombarded with clothing offers as he travels througha shopping mall or on a city street. Or, he may want to filter out anybeacon data from a food establishment such as a restaurant at timesother than 6 PM through 8 PM. Or, he may want to filter all beacons onSunday or any other day selected. In this case the user may be givencomplete control for filtering beacons to be ignored with a controlpanel or dashboard 1102 (see FIG. 11) that may be accessible on the userinput/output 10 of the mobile device, which may for example be atouchscreen display. Alternatively, in the case in which the userprofile is stored in the cloud, then the user may also be able to accessthe control panel or dashboard 1102 for viewing and/or modifying theprofile parameters via any client computer that may be granted access tothe profile in the cloud, such as a desktop computer, laptop computer,tablet and the like.

The beacon data may be ignored as a function of the beacon identifier asdescribed with respect to the first aspect of the invention above. Or,if desired, the beacon data may be ignored as a function of the beaconcontent within the beacon data. For example, the beacon data may includea coupon for pet food that is broadcast to all users within the vicinityof the beacon 4 a. The no-action table may indicate a rule that statesthat any beacon content received that relates to pets will be ignoredand not displayed to the user. In this case, the mobile device need notbe aware of the identification of the beacon as coming from a pet store,but can analyze the content of the beacon signal itself to ascertainthat it relates to pets, and that the user has instructed the device toignore any content relating to pets. This would be particularly usefulto filter out pet related content coming from a store not otherwiseidentified as a pet store, such as a supermarket.

Another type of action taken by the filter manager 14 may be to displaya notification to the user at step 510 on the mobile device 6 of thesource of the beacon data being transmitted to the mobile device. Forexample, a popup notification may state “TARGET Stores is attempting tosend you pet-related information”. Optionally, the user may be given theability at step 512 to confirm that the beacon content should bedisplayed directly on the device without needing to invoke a mobile app,or that a mobile app associated with that beacon source may be triggered(such that the app will take certain actions such as displaying purchaseincentives etc.), or to indicate that the beacon should be ignored.Thus, the user may be provided with a confirmation window on thetouchscreen display that states “Would you like to accept the TARGETbeacon?” Then the user can check a “Yes” or “No” selection box, based onhow the user wants to handle the TARGET beacon at that specific momentin time. By checking “Yes”, the TARGET beacon content received from thebeacon 4 a would then be displayed on the screen, or an app would thenbe given access to the TARGET beacon data as in the prior art, and takeactions such as displaying a coupon or other purchase incentive. Bychecking “No”, the TARGET beacon data would be ignored as in step 208.As a result, the user is given the ability to filter out certain beaconsin real time as desired.

Another type of action that may be initiated by the filter manager 14 isthe automatic execution of a mobile application resident in memory ofthe mobile device as shown at step 514. That is, the user may initiatean override of any previously stored ignore commands in the no-actiontable, such that all beacon data would be passed on by the filtermanager 14 to an intended mobile app associated with the beacon contentwithout ay further interaction by the filter manager 14. This overridemay be removed or modified by the user at any time as desired bymodifying the user profile at step 526.

Another type of action that may be initiated at step 516 is theplacement of the beacon content in a transaction queue for subsequentprocessing. In this scenario, a multitude of beacon signals are receivedby the user mobile device 6, such as in an area populated with manybeacons, all vying for the user's attention. Rather than ignore thesebeacons, a priority of service scheme may be implemented at step 517 tohandle these multiple wireless beacon signals that may be received ataround the same time in quick succession. These messages may be placedin a transaction queue and subjected to prioritization as determined bythe user in the user profile 16 or on-the-fly as they are beingreceived. For example, the user may specify that a simple FIFO (first infirst out) scheme be used to allow sequential processing in the orderthey are received. Or, the beacon content (and/or identifier) may beanalyzed to determine if certain beacons are of immediate interest tothe user and then given higher priority, such as if the user hasconfigured the priority to process beacon content related to electronicdevices before any other type of beacon signal. This may of course beuser-configurable wherein priority settings may be stored in the userprofile 526 in the mobile device or alternatively in the cloud.

Other types of filters and priority schemes may be utilized with thisinvention in order to carry out the preferences of the user, all ofwhich could be modified by the user at any time via the user profile526. A default set of filters may be preloaded into the profile in theevent the user has made any affirmative choices in this regard.

Similar to the first aspect of the invention described above in which anitem such as a purchase offer generated by a mobile app associated withan incoming beacon identifier may be post-processed in one or morevarious manners (e.g. such as by a product comparison service), thissecond aspect of the invention provides for similar post-processingevents to occur with respect to beacon content received directly from abeacon 4 a at step 518.

One type of post-processing action is a product comparison step 520 asshown in FIG. 5 and with reference to FIG. 3. In this situation, thepurchase offer made by the TARGET beacon 4 a is post-processed by themobile device 6 sending via the Internet 30 a request to an externalthird party service 32 for a product comparison service. Here, themobile device 6 may be configured to request the third party service 32to provide a product comparison report which may include prices atvarious merchants for a product that is being offered by the beacon 4 a.Take for example the case in which a beacon 4 a located at a TARGETstore sends in its beacon content a purchase incentive in the form of acoupon that gives the user a sale price for an XBOX for $200. In thiscase, the mobile device at step 520 sends a request to the productcomparison service to provide pricing and other terms for the same XBOXfrom alternative vendors such as AMAZON. The product comparison servicewould return to the mobile device a list of alternative sources for theXBOX as well as the price terms from each source. As such, the usercould make an easy and quick analysis of the $200 price being offered bythe TARGET beacon to determine if that offer has value or not to theuser. This would enable the user to quickly determine if the productoffer is at a desired price, or if another merchant such as AMAZON maybe selling the same product for a lower price.

Another type of post-processing action is the use of a web searchservice at step 522. In the case of a web search service, the mobiledevice 6 may be configured to request the web search service to executea web search in real time regarding the subject matter of the beaconcontent provided by the beacon 4 a. For example, the beacon 4 a mayprovide information regarding a TARGET store that a user is entering;that information may be used to obtain a web search report via the websearch action, which may have further information about the TARGETstore. Similarly, if a user is entering a ballpark, the web searchservice could provide information from a web search regarding theballpark, the teams that are playing there, etc.

Another type of post-processing action is the use of a transactionservice at step 524. Here, the beacon 4 a may include win itstransmitted beacon content a purchase incentive such as a productcoupon, and the coupon may then be used to execute an online purchase ofthe product using an appropriate transaction service. For example, amanufacturer coupon from MICROSOFT delivered by the TARGET beacon may bedisplayed on the screen of the mobile device when the user isapproaching the electronics department at TARGET. The user may be ableto execute a post-processing transaction that uses that manufacturercoupon (since it is not specific to TARGET only) with AMAZON to purchasethe XBOX from AMAZON rather than TARGET.

As described above, the beacon content such as a product coupon may begenerated by either the beacon 4 a, or by a beacon server computer 20that interoperates with the beacons 4 a. In the simple case of anenterprise needing only a few beacons, the beacon 4 a may include inputand output that enables a programmer to program the beacon contentdirectly into the beacon, which would then transmit that content asinstructed. In another embodiment, by using a central beacon servercomputer, an enterprise can readily control the operation and datacontent provided by a multitude of beacons that are interconnected tothe server computer 20. This may be done locally at the premises or in aremote location via a WAN such as the Internet. In the case of a largeenterprise with multiple retail locations, such as TARGET, the use of acentrally located beacon server computer 20 is advantageous. Aprogrammer could implement a dashboard 1102 or other control panel thatinstructs particular beacons 4 a to deliver the desire beacon content,which may be tailored specifically in different regions and in differentstores, which may be changed at any desired time based on product supplyand demand or other market conditions, etc. In one embodiment, the samebeacon content would be broadcast to all listening mobile devices by abeacon so that any user that receives the wireless beacon data signal 5a would also be provided with the same content; e.g. the same coupon forthe same products. Of course, this may be acted on in each individualuser mobile device by the filter manager 14 as described above, so theresulting action on each mobile device may be different.

In an alternative embodiment, the beacon content may be in the form of atemplate such that each mobile device would take steps to complete ormodify the template to present a message customized to the user of themobile device. As explained above, at step 504, the beacon filtermanager 14 determines if the beacon content may include a template thatrequires customization by the mobile device before continuing to processit. If at step 504 it is determined that the content includes atemplate, then the processing branches to the loop at step 505 tocustomize the template. This flows to step 600 in FIG. 6. As shown inFIG. 6, the template is extracted/decoded from the beacon content atstep 600. On of three processing paths may then occur, based on what isrequired by the template. In the first path, at step 602, the userprofile is accessed, and information from that user profile is used tocomplete or modify the template at step 604. At step 606, the completedtemplate is passed back to the filter manager for processing at step 506as discussed above. For example, in this case the template is a couponto purchase an XBOX with a discount of either 10% if the user is anadult or 20% if the user is a teenager. By accessing the user profile,it may be determined in which demographic the user is, and theapplicable discount may then be tailored to that user accordingly.

Alternatively, in the second path, a mobile app is accessed that isassociated with the beacon identifier received and decoded by the mobiledevice in the wireless beacon data signal 5 a. At step 610 the templateis completed or modified by the mobile app, and then at step 610, thecompleted template is passed back to the filter manager for processingat step 506 as discussed above. Optionally, the mobile app may alsorequire information from the user profile at step 602 to complete thetemplate. Finally, in the third path, the template may be modified byinteraction with the user at step 612 and then passed back to the filtermanager for processing at step 506 as discussed above.

In an optional embodiment, the beacon 4 a may have the ability toreceive data messages from a user mobile device as well as transmit thewireless beacon data signals 5 a as described above. In this manner, thebeacon could request information from the user mobile device, whichcould respond based on information in the user profile or based onreal-time interaction with the user. Additionally, the mobile device maybe programmed to transmit periodic queries that search for beaconshaving certain characteristics. In this case, the user may be seeking toobtain purchase coupons for a desire product, and may set a mobile appon his device to transmit beacon search requests that would be receivedby beacons within range. If a particular beacon is able to provide therequested content, then it would respond to the querying mobile deviceaccordingly.

Third Aspect of the Invention—Mobile Smartphone Beacon

In a third aspect of the invention, the beacon is a mobile smartphonebeacon that has processing, wireless communications, and user inputmeans as well known in the art. A mobile smartphone such as an IPHONEthat executes the IOS 7 operating system may be programmed to operate asa beacon as well known in the art. In this aspect of the invention,multiple users carry their mobile smartphone beacon 6 a as they travelaround. The beacon 6 a may be configured to periodically transmit beaconsignals 700 as the user moves about (or remains stationary). Othermobile smartphone beacons 6 a may receive these beacon signals 700 andprocess them as will be described herein. As they process these signals,they may elect to interoperate with the other beacons usingmethodologies and processes as now described.

One application of the use of the mobile smartphone beacon 6 a is toenable parties to communicate with each other, i.e. in the field ofsocial interaction for business or personal purposes. A mobilesmartphone beacon may be programmed with an app that enables broadcastcommunications with a number of other users that may be executing thesame app. This broadcast app enables a user to set certain parameters ina profile that is stored with the app. The profile may be established bythe user entering data, and/or by the app referring to externaldatabases to obtain information about the user, and/or by the applogging certain activities of the user and using logic such asartificial intelligence to analyze the activities monitored. Forexample, the user may enter basic data such as the user's name,geographic location including optionally his or her address, contactinformation such as an email address or the like, preferences such asdesired activities (e.g. sports and music), demographic information suchas income (e.g. $150,000 per year), gender, race, sexual preference,age, hobbies, interests, and the like. The app may then refer toexternal databases such as a social network web site such as FACEBOOK,TWITTER, PINTEREST, etc. to obtain further information about that user.By observing certain activities of the user with respect to thesmartphone, such as logging using the GPS features where and when theuser likes to travel, or observing shopping patterns, the app can makefurther determinations with respect to the user. All of this informationmay be stored in the user's profile associated with the app. The usermay be required to give permission (i.e. opt in or out) to the app togenerate and/or use certain portions of the profile. A dashboard pagemay be accessible to the user to enter, view, modify, or delete any orall parts of the user profile if desired. As previously described, theprofile may be stored locally on the mobile device or in the alternativeremotely on a server computer in the cloud.

In a first embodiment, the app will broadcast certain information aboutthe user as obtained from the profile. For example, the app maybroadcast that the user is a single 40-year old male who likes hockeyand football, as well as music and literature, and who makes between$100K-$200K per year. This information, along with an anonymoustransmitter identifier, will be coded into a signal to be transmitted bythe app via the beacon transmission protocol, which is known in the art.The beacon signal 700 will be broadcast by the mobile smartphone 6 a asshown in FIG. 7, so that other mobile smartphones 6 a in range of thebroadcast signal will receive and process the signal. In one embodiment,the receiving smartphone(s) will have the same app as used by thebroadcasting smartphone or a companion app that is compatible with thebroadcasting app. Those users would have their apps set to a listen mode(which may be done manually automatically or by default), so that theycan receive and process broadcast signals as they also travel about.

In this example, one of these smartphones that is executing the requiredapp will receive the beacon signal broadcast by the transmitting device,and then be able to process the signal it has received. The receivingapp will analyze the received data regarding the broadcasting user withrespect to a user profile stored locally or remotely in association withthe receiving app. This receiving user profile may contain preferencesset by the user with user input, or in combination with intelligenceprovided by the app, which provides a framework for the analysis. Thereceiving user profile may specify what types of persons that therecipient is willing to engage with. For example, the receiving userprofile may specify that the recipient is willing to engage with maleswith an interest in music who earn between $100K-$200K per year. Thismatches the profile data that was transmitted by the transmitting beaconsmartphone. Thus, a positive match will be flagged for this receiveddata. In another example, the recipient may state that she is notinterested in anyone who likes sports, in this case there would be anegative match since the broadcasting beacon has indicated an interestin sports as well as literature.

In the event there is a positive match, one of several actions may betaken. In one example, a notification may pop up on the screen of therecipient's smartphone (or an audible tone) that alerts her to the factthat a positive match has been detected for some broadcasting a beaconsignal in the area. The matching information may also be displayed sothe recipient user can more easily analyze the data. If the recipientuser would like to proceed based on the matching data, then she cantrigger the next action which may be to send out a beacon signal thatcontains the transmitting identifier received from the transmittingbeacon device, as well as profile data from the recipient's user profilethat would be useful in making a further assessment by the initialtransmitting user. Also included in the beacon signal is a recipientidentifier that identifies the user who has received the initial beaconsignal, analyzed it, and decided to return a signal to indicate apotential interest in the transmitting user.

The initial transmitting device will receive the beacon signal andanalyze the signal, detecting the initial transmitting identifier aswell as the recipient's identifier. Now that both devices have theidentifier of the other device, they are able to negotiate andcommunicate with each other in this broadcast mode yet be able todiscern those communications as being responsive to each other. As such,the apps on each device are able to analyze the data received from theother device with respect to the user's profile on their own device, andmake intelligent decisions as to whether the other party is one whichthey would like to further engage. This may be done on an automaticbasis, or there may be manual assistance by interacting with the user ofthe device. For example, a notification may be displayed to a user: “Weare in contact with a 40 year old female who likes music and hockey, andwho is employed by a law firm in NY. Shall we continue to communicatewith her or cease further communications?” As such, each party cancontinue this beacon-based interaction or terminate it, as desired. Thismay lead to an exchange of contact information (email or phone number),names, etc. Or, a meeting could be set up via this protocol, for example“A meeting is schedule for 5:00 PM today at Joe's Bar on 5^(th)Avenue—Confirmed?” That can be confirmed, edited, denied, etc. Thisprocess enables users to exchange information on an automatic,semi-automatic, and/or manual basis as they travel throughout an area.This will help persons find other persons with desired interests andtraits that would otherwise be unattainable. In addition to the personalinformation interchange described above, this may also apply toprofessional situations, for example for people seeking out certaintypes of other people at professional events such as trade shows and thelike.

This process works well for enabling a user to filter and analyze anumber of responses to an initial beacon signal. For example, a user maytransmit a beacon signal with his information that may be replied to bea large number of recipients. In this one-to-many scenario, the user maythen select those profiles that are most desirable, which may be doneautomatically or with assistance of the user. The number of recipientsmay be further and further reduced with additional exchange and queries,until the desired match is found and acted on.

In this aspect of the invention, the mobile smartphone beacon mayoperate in a search mode or a seek mode. In the search mode, the userconfigures the smartphone beacon to look for something specific, and theuser will provide search parameters that help the beacon accomplish thesearch requirements. For example, the user may configure the search modeto find a single unattached Caucasian female around 25 years old, withblonde hair and a height in the range of 5′7″ to 5′10″, having an incomeover $100K per year, with an education of 4-year college or higher. Thesearch app will use these search terms to filter out and negotiate withpotential recipients in a very granular fashion, as described above. Inthe seek mode, there are no requirements provided, and the user is ableto see what types of communication recipients may be availableregardless of any predefined search parameters (also referred to as anopen search).

This invention may act as an advertising or billboard service byenabling users to broadcast certain information via the beacon system.Potential recipients may receive the beacon signals and act accordingly.For example, the owner of a mobile pet grooming service may drive aroundwith an intelligent beacon that broadcasts the availability of its petgrooming services using the technologies described above. Interestedrecipients may get the service notifications on their device screens andcontinue a dialogue that could, for example, set up an appointment forgrooming services for their pet at a mutually convenient time, wherein acalendar application executing on the user's mobile device is accessedto assist in scheduling a grooming appointment. These terms and othersmay be negotiated between the devices in a manual, automatic, orsemi-automatic manner.

As beacons interact with each other and exchange information asdescribed above, certain assumptions may be made using a fuzzy logic orartificial intelligence component. For example, when two intelligentbeacons exchange information regarding a search being made by one of thebeacons, and the searching beacon continues to refine its searchparameters by rejecting potential communications in the process, thenthe receiving beacon can log that information and make intelligentdecisions at subsequent times with that beacon or any different beaconas the case may be.

From a security perspective, user verification methodologies as known inthe art may be employed if desired, such as PIN code entry, biometricssuch as fingerprint or retina scans, etc. This may be used as a mannerof verifying the identity of a user during the beacon interaction andcommunications processes. Similarly, encryption and data obfuscationtechniques may be utilized to ensure that data being transmitted betweenbeacons as described herein cannot be intercepted and understood.

Fourth Aspect of the Invention—GPS/Beacon Switching

In a fourth aspect of the invention, the user mobile device 6 is capableof switching between GPS and beacon location modes, either automaticallyor manually, depending on the location of the device 6. As previouslymentioned, GPS technology is in mainstream use and provides the abilityof GPS-equipped devices to ascertain their location. This usually willonly work outdoors, since GPS receivers rely on line of sight to severalGPS satellites that orbit above the earth. That is, once the GPSreceiver is moved indoors (or in a tunnel, etc.) and can no longerreceive the signals transmitted by the GPS satellites, then the GPSreceiver cannot continue to track its location. Thus, when the usermobile device, which in this case is equipped with a GPS receiver (suchas an IPHONE), travels around outdoors, it is within the line of sightof one or more GPS satellites 900 as shown in FIG. 9. In FIG. 9, themobile device 6 is shown having a module referred to as locationservices 902, which uses one or more types of external input toascertain the location of the mobile device. Various applications thatexecute on the mobile device 6 can use the location informationgenerated by the location services 902 on the mobile device. Forexample, a mapping program could illustrate to the user where on a mapthe device (and the user) are located. Or, a mobile shopping app couldascertain that the user is located near a TARGET store and generate aTARGET coupon or other incentive.

Since GPS technology will generally not work indoors, the user mobiledevice will be unable to determine its location with any accuracy onceit enters an indoor location and ceases reception of the GPS signals.For example, a user may enter an indoor shopping mall, and the devicewill know it has entered the mall but will be unable to track the user'stravels throughout the mall. This aspect of the invention enables thelocation services module 902 to detect when it has ceased reception ofthe GPS signals, and will then utilize the beacon technologiesheretofore described in order to continue to track the location of thedevice 6 while indoors at the mall, as shown in FIG. 9. This may beaccomplished through an automatic switching mechanism embedded in thelocation services module or in the operating system, or optionally inany application that utilizes the information provided by the locationservices module. Thus, once the GPS signal strength drops below acertain threshold amount, and the device can no longer process itslocation via GPS, then the beacon technology will initiate and continueto track the location inside the premises. This can switch back once thedevice has left the premises and can receive GPS signals in measurablestrength again. In addition to this automatic switching between GPS andbeacon location technologies, a user provide a manual selection of whichtechnology he or she would like to use at a given time. For example,when the user travels around outdoors he may select use of the GPSsignals, and once he enters a building he may then manually select useof the beacon signals.

Other Applications of the Intelligent Beacon Systems Gaming and Rewards

Beacons may be used in a gaming and/or rewards environment, as will nowbe described. Beacons that communicate with each other as describedthroughout this application may engage in a gaming scenario. Variousgames may be executed between two or more beacons in various ways. Forexample, users could participate in a geocaching game in which a controlbeacon sends out location coordinates to participating beacons, and theparticipating beacons display a map to the user that enable the user totravel to that location. Once the beacon arrives at that location it cansend back its coordinates to the control beacon for verificationpurposes. The user may be required to enter certain information oranswers questions about the target locations for additionalverifications. Users who accomplish these tasks could be given rewardssuch as reward points or other shopping incentives. For example, acontest game could be implemented in which the first user to travel tocertain locations in a store, and verify their travels as mentionedabove, receive a $10 coupon off their next purchase at that store. Inaddition, sweepstakes and gambling methodologies could be implementedwith the intelligent beacons described herein.

Reservations

Beacons may be used for making reservations with a restaurant or othertype of establishment. As described with respect to the per groomingexample above, the beacon app would integrate with the user's calendarapp on his mobile device so as to make the reservation process seamlessand require little manual effort by the user.

Third Party Network Subscriptions

Merchants and other uses of the beacons may implement their owndedicated system by providing, programming, and otherwise maintainingbeacons as described herein. In the alternative, third party providersmay be implemented that provide this service to customers such asmerchants in a turnkey operation, thus relieving those merchants andother users of the tasks involved in implementing these systems.

1-82. (canceled)
 83. A computer-implemented method of processing awireless beacon signal comprising: a mobile device receiving a wirelessbeacon signal from a beacon; the mobile device extracting from thewireless beacon signal: beacon content comprising a template, and abeacon identifier comprising a source identifier that identifies asource of the beacon content and a location identifier that identifies alocation at which the beacon is located; the mobile device accessing auser profile comprising user-specific data; the mobile device modifyingthe template with the user-specific data to generate a custom message;and the mobile device displaying the custom message.
 84. The method ofclaim 83 wherein the custom message comprises a purchase incentive. 85.The method of claim 83 wherein the user profile is stored locally on themobile device.
 86. The method of claim 83 wherein the user profile isstored remotely using cloud-based services.
 87. The method of claim 83further comprising the step of the mobile device executing apost-processing routine on the beacon content.
 88. The method of claim87 wherein the post processing routine comprises a product comparisonservice.
 89. The method of claim 88 wherein the product comparisonservice generates a query to a plurality of resources on the Internet todetermine information regarding a product associated with the beaconcontent.
 90. The method of claim 89 wherein results of the query fromthe plurality of resources are provided to the mobile device.
 91. Themethod of claim 88 wherein the post processing routine comprises a websearch.
 92. The method of claim 88 wherein the post processing routinecomprises a transaction execution service.
 93. A mobile devicecomprising processing circuitry, program storage, a user input device, auser output device, a short range wireless interface for short rangecommunication with a beacon, and a network interface for wirelesscommunications with a network, wherein the program storage storesprogram code for programming the processing circuitry to: receive awireless beacon signal from a beacon; extract from the wireless beaconsignal: beacon content comprising a template, and a beacon identifiercomprising a source identifier that identifies a source of the beaconcontent and a location identifier that identifies a location at whichthe beacon is located; access a user profile comprising user-specificdata; modify the template with the user-specific data to generate acustom message; and display the custom message.
 94. The mobile device ofclaim 93 wherein the custom message comprises a purchase incentive. 95.The mobile device of claim 93 wherein the user profile is stored locallyon the mobile device.
 96. The mobile device of claim 93 wherein the userprofile is stored remotely using cloud-based services.
 97. The mobiledevice of claim 93 wherein the mobile device further executes apost-processing routine on the beacon content.
 98. The mobile device ofclaim 97 wherein the post processing routine comprises a productcomparison service.
 99. The mobile device of claim 98 wherein theproduct comparison service generates a query to a plurality of resourceson the Internet to determine information regarding a product associatedwith the beacon content.
 100. The mobile device of claim 99 whereinresults of the query from the plurality of resources are provided to themobile device.
 101. The mobile device of claim 98 wherein the postprocessing routine comprises a web search.
 102. The mobile device ofclaim 98 wherein the post processing routine comprises a transactionexecution service.